In mobile robot applications, absolute and relative position-estimation methods are typically employed together to determine the position of a mobile robot. Absolute position-estimation methods typically employ external references for determining accurate robot positioning. Relative position-estimation methods typically employ wheel encoders which monitor robot wheel revolutions to compute the robots offset from a known starting position, and as such, calculate relative positioning utilizing dead-reckoning. A third technique for determining position of mobile robots is based on inertia navigation, utilizing gyros and/or accelerometers.
Typical absolute positioning methods utilize navigation beacons, active or passive landmarks, map-matching, or satellite-based navigation signals in combination with a variety of sensors and methods for receiving and monitoring such signals to determine robot positioning. However, each of these systems is limited in their application. For example, navigation beacons and landmarks usually involve costly installation and maintenance. Likewise, map-matching methods are typically very slow and inaccurate, and in many cases prove unreliable. Additionally, all of the aforementioned methods require that the robot's work environment is either carefully prepared or its topology is known and can be mapped with great precision. Furthermore, satellite-based navigation can not be used indoors and its accuracy is significantly reduced when it is used in real-time to measure moving objects. Furthermore, each of the aforementioned systems is somewhat cumbersome and difficult to utilize.
Relative positioning methods are typically based on dead-reckoning by monitoring selected robot wheel revolutions to compute the robot's offset from a known initial starting position. Typically, a plurality of wheel encoders is utilized on the robot to accurately measure wheel revolutions, and these wheel encoders are utilized in a spaced apart array to determine distance and bearing of the robot. Such a dead-reckoning system is simple, inexpensive, and easy to accomplish in real-time. However, dead-reckoning, especially with wheel encoders, proves to be inaccurate due to accumulation of dead-reckoning errors which accumulates to such a large extent that the robot's internal position estimate can be completely wrong after only 10 to 15 meters of travel distance. Recent attempts have been made to improve existing wheel encoder attachments in order to reduce the dead-reckoning errors by providing carefully machined precision wheels that are more accurate at measuring than the robots drive wheels. Ordinary robot drive wheels prove unsuitable for dead-reckoning since they are actually designed for multiple functions such as load-bearing, driving, and position measuring. By providing encoder-wheel attachments to a robot already having wheels, dead-reckoning accuracy can be improved to an extent, but severe measurement errors are still encountered when traveling over bumps, cracks, or other irregularities on a floor surface being transited by a robot.
Inertia navigation methods for determining robot position typically employ gyros and/or accelerometers. However, utilization of accelerometers produces data which must be integrated twice in order to yield displacement positioning, which makes these sensors exceedingly sensitive to drift phenomenon. The sensor drift produces error accumulation which is compounded by integrating the error component twice. An additional problem is created with accelerometer sensors when very small accelerations are measured, on the order of 0.01 G's. However, an acceleration of this magnitude is also created if the accelerometer is not positioned perfectly horizontally, for example, if it is off by only 0.5.degree. due to the vehicle driving over uneven floors, and this causes difficulty in discriminating between any small deceleration and the deceleration component caused by uneven positioning of the robot. In place of accelerometers, gyros can be utilized and their use can produce more accurate, but more costly position information on the rotation of a robot. However, they do not provide displacement information. Moreover, gyros introduce a significant drift problem. The drift is particularly significant in gyros because gyros measure rotational velocity, which then needs to be integrated to compute rotational orientation, and the integration magnifies any drift component.